package com.lc.controller;

import com.github.pagehelper.PageInfo;
import com.lc.bean.GoodsType;
import com.lc.service.GoodsTypeService;
import com.lc.utils.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 表示这个类中所有的方法都是异步的
 */
@RestController
@RequestMapping("/gt")
public class GoodsTypeController {

    @Autowired
    GoodsTypeService goodsTypeService;

    // 无条件查询所有
    // 分页查询好使
    // 条件+分页
    @GetMapping("/list")
    public R list(GoodsType goodsType,
                  @RequestParam(defaultValue = "1") Integer pageNum,
                  @RequestParam(defaultValue = "5") Integer pageSize) {
        PageInfo<GoodsType> gts = goodsTypeService.list(goodsType,pageNum,pageSize);
        return R.ok(gts);
    }

    // 给商品查询、添加页面使用的；下拉列表框显示需要使用的
    @GetMapping("/findSelectItem")
    public R selectItem() {
        List<GoodsType> gt = goodsTypeService.selectItem();
        return R.ok(gt);
    }

    @GetMapping("/del/{id}")
    public R del(@PathVariable Long id) {
        goodsTypeService.del(id);
        return R.ok();
    }

    // 保存数据接口
    @PostMapping("/save")
    public R save(GoodsType goodsType) {
        goodsTypeService.save(goodsType);

        return R.ok();
    }

    // 根据id查询详细信息接口
    @GetMapping("/findById")
    public R save(@RequestParam("id") Long uuid) {
        GoodsType gt = goodsTypeService.findById(uuid);

        return R.ok(gt);
    }

    // 更新接口
    @PostMapping("/update")
    public R update(GoodsType goodsType) {
       goodsTypeService.update(goodsType);

        return R.ok();
    }

}
